# 导入必要的库
from sympy import *

# 初始化打印格式，让矩阵以常见方式输出
init_printing(use_unicode=True)
# 矩阵输入
A = Matrix([[1,2,3],[2,1,2],[3,3,1]])
B = Matrix([[3,2,4],[2,5,3],[2,3,1]])
# 计算2A-B,AB,BA,A转置乘B
print("2A-B的结果是",2*A-B)
print("A乘B的结果是",A*B)
print("B乘A的结果是",B*A)
print("矩阵A转置乘矩阵B的结果是",A.T*B)
# 将矩阵A转化为阶梯型矩阵
print("矩阵A的阶梯型矩阵为",A.rref())
# 求矩阵B的逆矩阵
print("矩阵B的逆矩阵为",B.inv())
# 求矩阵B的秩
print("矩阵B的秩为",B.rank())